/* A Bison parser, made by GNU Bison 2.3.  */

/* Skeleton interface for Bison's Yacc-like parsers in C

   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
   Free Software Foundation, Inc.

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor,
   Boston, MA 02110-1301, USA.  */

/* As a special exception, you may create a larger work that contains
   part or all of the Bison parser skeleton and distribute that work
   under terms of your choice, so long as that work isn't itself a
   parser generator using the skeleton or a modified version thereof
   as a parser skeleton.  Alternatively, if you modify or redistribute
   the parser skeleton itself, you may (at your option) remove this
   special exception, which will cause the skeleton and the resulting
   Bison output files to be licensed under the GNU General Public
   License without this special exception.

   This special exception was added by the Free Software Foundation in
   version 2.2 of Bison.  */

/* Tokens.  */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
   /* Put the tokens into the symbol table, so that GDB and other debuggers
      know about them.  */
   enum yytokentype {
     KW_INTEGER = 258,
     KW_REAL = 259,
     KW_VOID = 260,
     KW_BOOLEAN = 261,
     KW_IF = 262,
     KW_ELSE = 263,
     KW_FOR = 264,
     KW_WHILE = 265,
     KW_DO = 266,
     KW_WRITE = 267,
     KW_READ = 268,
     KW_RETURN = 269,
     PAR_OUVRANTE = 270,
     PAR_FERMANTE = 271,
     ACC_OUVRANTE = 272,
     ACC_FERMANTE = 273,
     CRO_OUVRANT = 274,
     CRO_FERMANT = 275,
     SEP_PVIRGULE = 276,
     SEP_VIRGULE = 277,
     OP_ADD = 278,
     OP_SUB = 279,
     OP_MUL = 280,
     OP_DIV = 281,
     OP_LT = 282,
     OP_LTE = 283,
     OP_GT = 284,
     OP_GTE = 285,
     OP_EQ = 286,
     OP_NEQ = 287,
     OP_AND = 288,
     OP_OR = 289,
     OP_NOT = 290,
     OP_ADR = 291,
     OP_AFFECT = 292,
     CST_BOOLEAN = 293,
     CST_INTEGER = 294,
     CST_REAL = 295,
     CST_IDENTIFICATOR = 296,
     CST_STRING = 297,
     OP_NEG = 298,
     OP_DEREF = 299,
     KW_IFX = 300
   };
#endif
/* Tokens.  */
#define KW_INTEGER 258
#define KW_REAL 259
#define KW_VOID 260
#define KW_BOOLEAN 261
#define KW_IF 262
#define KW_ELSE 263
#define KW_FOR 264
#define KW_WHILE 265
#define KW_DO 266
#define KW_WRITE 267
#define KW_READ 268
#define KW_RETURN 269
#define PAR_OUVRANTE 270
#define PAR_FERMANTE 271
#define ACC_OUVRANTE 272
#define ACC_FERMANTE 273
#define CRO_OUVRANT 274
#define CRO_FERMANT 275
#define SEP_PVIRGULE 276
#define SEP_VIRGULE 277
#define OP_ADD 278
#define OP_SUB 279
#define OP_MUL 280
#define OP_DIV 281
#define OP_LT 282
#define OP_LTE 283
#define OP_GT 284
#define OP_GTE 285
#define OP_EQ 286
#define OP_NEQ 287
#define OP_AND 288
#define OP_OR 289
#define OP_NOT 290
#define OP_ADR 291
#define OP_AFFECT 292
#define CST_BOOLEAN 293
#define CST_INTEGER 294
#define CST_REAL 295
#define CST_IDENTIFICATOR 296
#define CST_STRING 297
#define OP_NEG 298
#define OP_DEREF 299
#define KW_IFX 300




#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
#line 20 "parser.y"
{
    int vboolean;
    int vinteger;
    float vreal;
    char vstring [ 512 ];
    unsigned int vindex;
    IdentificateurModifie videntmod;
    ListeIdentificateurModifie vlistidentmod;
    BaseType vtypebase;
    Instruction* vinstruction;
    ListeInstruction* vlinstruction;
    Expression* vexpression;
    ListeExpression* vlexpression;
}
/* Line 1489 of yacc.c.  */
#line 154 "src/parser.h"
	YYSTYPE;
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
#endif

extern YYSTYPE yylval;

